home *** CD-ROM | disk | FTP | other *** search
/ Commodore Free 30 / Commodore_Free_Issue_30_2009_Commodore_Computer_Club.d64 / dos 65 < prev    next >
Text File  |  2023-02-26  |  16KB  |  558 lines

  1. u
  2.  
  3.  
  4. Dos65 Commodore
  5. richardaleary@gmail.com
  6. http://www.z80.eu/dos65.html
  7.  
  8. DOS/65 - an interesting operating
  9. system with file system compatibility
  10. to CP/M-80 (and other similarities)
  11. From the system description of DOS/65:
  12. "What I (Richard A. Leary) have done
  13. is attack the software side of the
  14. problem in order to make any 6502
  15. system a truly workable disk based
  16. system. In addition a degree of
  17. compatibility is now possible not only
  18. between 6502 systems but with large
  19. parts of the world of CP/M systems.
  20. The result of my efforts is a system
  21. of software which I have named
  22. DOS/65."
  23.  
  24. Richard's implementation is initially
  25. made for S-100 based systems, but he
  26. began to port it to the C64 also
  27. (see below).
  28.  
  29. DOS/65 has a lot of CP/M look-alike
  30. commands for the command line and also
  31. some applications like BASIC-E 
  32. included.
  33.  
  34. Of course some differences between
  35. CP/M-80 and DOS/65 exist - the lowest
  36. memory areas (e.g. the "zero page")
  37. are not usable for the TPA, so the
  38. usable system memory area starts at a
  39. higher address (e.g. $0400).
  40.  
  41. http://www.z80.eu/dos65.html
  42.  
  43. ------------------------------------
  44.  
  45.  
  46. Interview with Dos65 Creator
  47.  
  48. COMMODORE FREE:
  49. Please introduce yourself to our
  50. Readers
  51.  
  52. RICHARD LEARY:
  53. My name is Richard (Rich) Leary & I
  54. have been involved in 6502-based
  55. systems since 1974. My first 6502
  56. based computer was totally built by
  57. hand in 1974 using a plug board. The
  58. computer had two 1702A EPROMs, four
  59. 3539 256x8 static RAMs, & serial
  60. console I/O to a Teletype Model 19
  61. Baudot teletype. If I remember
  62. correctly the machine used a 6520 for
  63. the serial I/O. The machine evolved
  64. through several stages including
  65. adding a cassette tape & other changes
  66.  
  67. As I watched the 8080/Z80 computers
  68. evolve it was clear to me that I
  69. needed some form of disk I/O for my
  70. system & that meant a disk operating
  71. system (DOS) was also needed. By the
  72. late 1970s it looked like the 8080/Z80
  73. DOS that was emerging as the
  74. cross-platform standard was CP/M
  75. operating system. In addition the
  76. Altair computer started the 8080/Z80
  77. down a hardware path that used the
  78. S-100 bus. While there were other
  79. buses in use, the S-100 was embraced
  80. by a large number of manufactuers so
  81. hardware selection had some options.
  82.  
  83. My effort then was devoted to getting
  84. a Z80, S-100, & CP/M based system
  85. working. I built two very large boxes
  86. with power supplies - one for the
  87. S-100 motherboard & all the plug-in
  88. cards & the other to house two
  89. 8-inch floppy disk drives. Once I got
  90. that working I built a 6502 CPU board
  91. for the S-100 motherboard & started to
  92. develop my 6502 DOS by disassembling
  93. CP/M & then creating 6502 equivalent
  94. software.
  95.  
  96. By 1981-1982 that software, that I
  97. named DOS/65, was operating well
  98. enough that I started to consider
  99. offering it as a commercial product to
  100. other 6502 enthusiasts. That led to a
  101. number of commercial sales culminating
  102. in a sizeable license to Rockwell in
  103. 1983-1984 that allowed Rockwell to use
  104. DOS/65 for their commercial products.
  105.  
  106. CF: Would you say you were a Commodore
  107. fan or is the Commodore link purely
  108. down to CP/M software
  109.  
  110. I started my Commodore experience
  111. many, many years ago with a VIC-20
  112. when it first came out. The VIC was
  113. later replaced by a C64. I used those
  114. for some limited game playing as well
  115. as for the traditional word processing
  116. spreadsheet, & similar applications.
  117.  
  118. I still have that first C64 & when I
  119. did the C64 port of DOS/65 it was that
  120. system with its two 1541s & JiffyDOS
  121. that was used for testing.
  122.  
  123. Later in the 1980s I leaped on the
  124. Amiga platform with first an A1000 &
  125. when the expansion limitations of that
  126.  
  127. platform became an issue I traded it
  128. in for an A2000. That A2000 is also
  129. still operational & now has a 68030
  130. processor, hard disk, CD-ROM, high
  131. resolution display, & other
  132. enhancements & runs Amiga OS 3.5
  133.  
  134. CF: What is CP/M
  135.  
  136. CP/M (some say this is an acronym for
  137. Control Program/Microcomputer but
  138. there are other opinions) is a disk
  139. operating system originally developed
  140. by Gary Kildall (Digital Research).
  141. This site:
  142.  
  143. http://www.cadigital.com/kildall.htm
  144.  
  145. has a brief history of what Gary did
  146. and what CP/M & especially CP/M-80
  147. (the version Gary developed for the
  148. 8080 processor) was & what it's later
  149. relationship was to Bill Gates &
  150. Microsoft.
  151.  
  152. CP/M is both a development environment
  153. and an application environment. It
  154. provided the floppy or hard disk file
  155. system that made applications flexible
  156. and powerful for their day. More
  157. importantly by Version 2.2 it had
  158. matured into a system that achieved
  159. platform independence by concentrating
  160. their platform specific interface in
  161. an user alterable module called the
  162. Custom Basic Input Out System (CBIOS).
  163. This meant that different hardware
  164. could use CP/M as long as it had an
  165. 8080-compatible processor. Eventually
  166. most such systems used the Z80 but
  167. there were 8085-based systems as well
  168. as 8080-based systems.
  169.  
  170. CP/M then evolved to other platforms
  171. including the 16-bit 8088/8086 & to
  172. completely foreign processors, most 
  173. notably the 68000. It eventually
  174. evolved into a multi-processing
  175. systems (MP/M) that was used in
  176. business environments & other
  177. applications.
  178.  
  179. CF: Would you say DOS on the PC was a
  180. copy of the CP/M operating system
  181. then?
  182.  
  183. The reference link above discusses the
  184. relationship between CP/M & MS-DOS.
  185. I will say no more other than to
  186. note that this is a subject that stirs
  187. people's hearts to this day.
  188.  
  189. CF: Were there different versions of
  190. CP/M & were they all compatible with
  191. each other? 
  192.  
  193. There were differences. For example,
  194. CP/M-80 & CP/M-86 were targeted for
  195. different processors & hence a
  196. CP/M-86 application would not run on a
  197. CP/M-80 system or vice-versa. There
  198. was a degree of file system
  199. compatibility that would allow file
  200. exchange if the disks were the same.
  201.  
  202. Even within CP/M-80 the various disk
  203. formats meant that any specific system
  204. could only exchange files through
  205. media exchange if the hardware was
  206. compatible. In the early days when the
  207. "standard" was the "IBM" 8-inch,
  208. single sided, single density diskette,
  209. media exchange was usually easy. As
  210. manufacturers moved to 5.25 inch
  211. drives such compatibility became
  212. spotty. To this day there are some
  213. that are often exchangeable. For
  214. example the C128 version of CP/M will
  215. support both Kaypro 2 & 4 diskette
  216. formats using the 1571 drive.
  217.  
  218. CF: I know DOS/65 was ported to the
  219. C64. Was this the main idea to have
  220. the system running on the C64 or was
  221. it more a programming exercise & did
  222. you do the coding?
  223.  
  224. I had always had the Commodore
  225. platform as an intended target but
  226. just never had time for it. In late
  227. 2007 I brought my S-100 system back to
  228. life after being dormant for at least
  229. 5 years. However in early 2008 my
  230. S-100 system failed & rather than
  231. trying to immediately fix it I decided
  232. this was the incentive to build a new
  233. "primary" development environment
  234. using hardware & software I had &
  235. that was not "one-of-a-kind" nor as
  236. bulky & heavy as the S-100 system.
  237. After thinking about it I decided to
  238. use the C64.
  239.  
  240. I had to acquire a few tools (e.g.,
  241. Star Commander, X1541 interface) to
  242. allow my PCs to interact easily with
  243. the C64 & 1541. It took only a short
  244. time to get familiar with those new
  245. tools as well as use of TASM as a
  246. cross development assembler. I also
  247. used the VICE X64 simulator for easier
  248. testing in addition to the actual
  249. hardware.
  250.  
  251. It took a little while to understand
  252. the C64 1541 CP/M disk format & how
  253. to use the C64 kernel (called kernal
  254. by Commodore) calls to accomplish both
  255. serial bus as well as console I/O. As
  256. noted separately, by early April I had
  257. a stable system & provided "beta"
  258. releases through Peter Dassow's site
  259. for people to try.
  260.  
  261. CF: I believe you still own the
  262. rights to DOS/65, is there a charge
  263. for users wishing to use the software?
  264.  
  265. There is no charge as long as it is
  266. for personal or educational uses. If
  267. someone wants to use it commercially
  268. they need to talk to me. I doubt
  269. anyone will want commercial use but if
  270. they do it is not free.
  271.  
  272. CF: I actually found the software on
  273. this website:
  274.  
  275.  http://www.z80.eu/dos65.html
  276.  
  277. were you approached for distribution
  278. rights or to produce a conversion to
  279. Commodore systems?
  280.  
  281. Peter Dassow's site is a CP/M oriented
  282. site. Peter expressed some interest in
  283. DOS/65 because it uses the CP/M file
  284. system & looks & feels a lot like
  285. CP/M. After some email exchanges I
  286. agreed to accept his very generous
  287. offer to host a DOS/65 page. This also
  288. motivated me to clean up the docs,
  289. some of which had not been touched in
  290. 10 years or more. I did that and
  291. produced .pdf versions of the docs in
  292. the first half of 2008 & provided them
  293. to Peter. As the C64 version evolved
  294. it was also posted on Peter's site.
  295.  
  296. CF: When was the Port of the software
  297. created for the C64?
  298.  
  299. I started working on the C64
  300. implementation in January 2008 & by
  301. mid-April 2008 it was stable &
  302. complete. The C64 implementation
  303. focused on the disk I/O using the
  304. serial bus & 1541 drive as well as on
  305. the console I/O using the keyboard &
  306. normal C64 text video. DOS/65 was
  307. used as it existed although one small
  308. change was made to the main DOS/65
  309. software to facilitate more flexible
  310. builds of new configurations,
  311. including the C64 version.
  312.  
  313. One of the features of DOS/65 that was
  314. inherited from CP/M is the use of a
  315. system interface module to handle all
  316. system-specific I/O needs. That means
  317. that the core portions of DOS/65
  318. including the DOS itself as well as
  319. all applications need not know
  320. anything about the actual I/O.
  321.  
  322. CF: Why was it called DOS/65?
  323.  
  324. That was my attempt to have a name
  325. similar to CP/M but with a name that
  326. tied itself to the 65xx processor
  327. family.
  328.  
  329. CF: To your knowledge what other
  330. Computer systems has the software been
  331. ported to?
  332.  
  333. DOS/65 has been implemented on SYM-1,
  334. KIM-1, AIM-65, & some S-100 systems.
  335. It was also implemented on a couple of
  336. different STD-bus systems in the 1980s
  337.  
  338. CF: Can you explain why the software
  339. was created or ported to the C64, for
  340. example why was such software needed
  341. for Commodore systems in particular
  342.  
  343. That is an excellent question. Over
  344. the two decades plus since DOS/65 was
  345. developed & stabilized there were
  346. instances in which various people
  347. asked if I had a C64 version. While
  348. that had always been my intent I just
  349. never had the time. During those 20+
  350. years I was working for a major
  351. aerospace company & just had little
  352. free time.
  353.  
  354. When I retired two years ago from that
  355. career I started to have more time
  356. available. Once we had our new house
  357. in the Colorado Rockies finished & we
  358. then had moved in during early NOV 07,
  359. the possibility of applying some time
  360. became real. That was helped by the
  361. severe winter we had in DEC 07 thru
  362. MAY 08 that meant "inside time" was
  363. plentiful.
  364.  
  365. While I thought there would be some
  366. people interested in trying DOS/65 on
  367. the C64, in the end I did it for the
  368. fun & to prove to myself that what I
  369. had intended 20+ years ago was
  370. possible & practical. As to value for
  371. the C64 user - that is up to them.
  372. Some may see it as pointless but in my
  373. view it has the same value as all
  374. other vintage computer hardware &
  375. software - it is fun. DOS/65 provides
  376. a development environment that is self
  377. contained.
  378.  
  379. All the tools are there to build
  380. software in BASIC-E or assembly
  381. language. That gives the C64 user the
  382. opportunity to do things that may not
  383. be easy to do in other ways but most
  384. importantly allows the user to develop
  385. skills & knowledge that are
  386. self-satisfying.
  387.  
  388. I am not working any other Commodore
  389. implementations now even though I have
  390. a C128D that would be a very nice
  391. DOS/65 platform. I also have an Apple
  392. IIGS that would be even better given
  393. it's somewhat faster & capable
  394. processor. I am not doing anything
  395. with the IIGS at this time.
  396.  
  397. What I am working on is the hardware
  398. to add a floppy disk interface &
  399. possibly an IDE interface to Daryl
  400. Rictor's SBC-2 v2.3 6502 based single
  401. board computer. I built one of Daryl's
  402. SBCs this year & it is working quite
  403. nicely.  The floppy I/O board is in
  404. the design stage & probably won't be
  405. completed until this winter when the
  406. snows again make "inside time"
  407. dominant.
  408.  
  409. CF: What software will run on DOS/65
  410. is it still relevant today or is this
  411. more an historic environment
  412.  
  413. That is really up to the user. When
  414. all is said & done we all use
  415. vintage computers for the fun of the
  416. experience. Whether that means
  417. productive use, self-education, or
  418. pure fun is up to the user.
  419.  
  420. DOS/65 comes with an editor,
  421. assembler, debugger, & other misc.
  422. tools. It also comes with BASIC-E/65,
  423. a DOS/65 implementation of Gordon
  424. Eubanks BASIC-E, the precursor to
  425. CBASIC. Small-C is available as is
  426. FORTH.
  427.  
  428. There are no word processor, spread-
  429. sheet, or database applications that
  430. I know of but there might be a
  431. challenge for a DOS/65 user.
  432.  
  433. CF: Most users will be aware the C128
  434. can run CP/M software but the 128 has
  435. a z80 processor dedicated to the
  436. task, how can the C64 run the
  437. software?
  438.  
  439. As amplified below, the only way the
  440. C64 can run CP/M is by use of the
  441. Z80-based CP/M cartridge. DOS/65 does
  442. not give you the ability to run CP/M
  443. software without that cartridge but it
  444. does allow you to exchange files with
  445. a C64 or C128 CP/M system.
  446.  
  447. CF: The z80 based CP/m cartridge for
  448. the C64 allowed CP/M software to run
  449. on the C64 can you tell our readers
  450. about the device it seems to be an
  451. illusive device
  452.  
  453. I actually have one of the CP/M
  454. cartridges for the C64. It has a Z80
  455. processor & some glue logic so it
  456. can communicate with the C64. I bought
  457. it within the past year so I could see
  458. how the 6502 in the C64 & the Z80 in
  459. the cartridge communicated & how the
  460. Commodore serial bus I/O was handled.
  461.  
  462. It turns out that the CP/M cartridge
  463. is not compatible with all C64s. It
  464. will only work reliably with early
  465. C64s because Commodore later made
  466. some C64 changes that reduced the
  467. display flicker & that caused
  468. compatibility issues with the
  469. cartridge. Commodore never tried to
  470. fix the compatibility issues with
  471. the later C64s. My C64 is late enough
  472. that it falls in the "will not work"
  473. category. It will actually boot CP/M
  474. but then randomly goes into never-
  475. never land.
  476.  
  477. CF: What advantages are there in
  478. running CP/M from a cartridge rather
  479. than from a Commodore disk
  480.  
  481. On the C64 you need the cartridge &
  482. the CP/M disk but as noted above it is
  483. unreliable. The C128 has the Z80 built
  484. in so only needs the CP/M software
  485. with the C128 specific CBIOS. The C64
  486. CP/M cartridge will not work at all
  487. with the C128. In addition the C128
  488. will not run the C64 version of CP/M.
  489.  
  490. CF: Does the Commodore 1541 disk
  491. drive read CP/M formatted disks?
  492.  
  493. Yes but only the C64 specific format
  494. that uses the standard 1541 GCR disk
  495. format. To do more than that under
  496. DOS/65 the DOS/65 System Interface
  497. Module (SIM), the DOS/65 equivalent of
  498. the CP/M CBIOS, must include the
  499. drivers for the various 1571 CP/M
  500. formats be they GCR or MFM based. The
  501. same is true for use of the 1581 or
  502. any other formats.
  503.  
  504. CF: IS DOS/65 to be updated? & do
  505. you intend to update or maintain the
  506. software yourself?
  507.  
  508. If time permits I may add drivers for
  509. the other disk formats & perhaps
  510. some other minor expansion. Right now
  511. I do not plan any other enhancement of
  512. the system itself. If bugs are found
  513. by users or by myself I will of course
  514. fix them & release updated versions.
  515. During the C64 effort I actually found
  516. a couple of 20+ year old bugs in a
  517. couple of utilities & fixed them
  518. during the C64 implementation effort.
  519.  
  520. CF: If our reader has become excited
  521. about the port can they help out?
  522.  
  523. Absolutely! Anyone can build the
  524. system interface code for the 1571 or
  525. 1581 drives & a C128 implementation
  526. is also doable. In addition porting
  527. new tools or enhancing the existing
  528. tools are all efforts that some users
  529. may find both challenging as well as
  530. rewarding.
  531.  
  532. CF: Is there anything further you
  533. would like to tell our readers
  534.  
  535. Just that DOS/65 should be enjoyed &
  536. viewed as a means of doing some
  537. productive tasks but more importantly
  538. as a framework to learn more about how
  539. a DOS or it's supporting tools work.
  540. The source code is there for all to
  541. view & examine. While I claim no
  542. special talent, it may still help
  543. people understand at least one way to
  544. do things. There may be better ways &
  545. as users explore the code they should
  546. not hesitate to suggest them.
  547.  
  548. CF: Thanks for the interview
  549.  
  550. You are welcome & thank you for the
  551. opportunity to discuss something that
  552. has been part of my life for over 20
  553. years.
  554.  
  555. Rich
  556.  
  557. ----
  558.